package com.xm.dao;

import com.xm.pojo.User;
import com.xm.pojo.account;
import com.xm.pojo.product;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface userDao {

    /*根据用户名查询1用户信息(登录)*/
    User login(String userName);
    /*根据用户id查询用户信息*/
    User userInfoId(int id);


    /*注册*/
    boolean zhuce(String userName,String pwd,String nickName);

    /*注册成功后添加钱包*/
    boolean insertAccount(String userName,double amount,String charge);

    /*用户收藏(所有)  用户Id（userId）*/
    List<product> wishlist(int userId);

    /*用户收藏（单个）用于商品详情页  1.用户Id(userId) 2.商品id（id） */
    product wishlistInfo(int userId,int id);


     //<!--取消收藏(单/多个) -->
    boolean delWishInfo(int productId,int userId);
    //<!--取消收藏(多个) -->
    boolean delWish(int userId);
    //新增收藏
    boolean addWish(int productId,int userId);

    //购物车
    List<product> carInfo(int userId);
    /*新增购物车*/
    boolean addCar(int productId,int userId,int quantity,int skuId);
    /*查询购物车是否已存在该商品及选择项目*/
    product isCar(int userId,int productId,int skuId);
    /*修改购物车数量*/
    boolean updateCar(int quantity,int userId,int productId,int skuId);
    /*删除购物车（单个）*/
    boolean delCarInfo(int productId,int userId,int skuId);
    /*删除购物车(多个)*/
    boolean deleteCar(int id);
    /*删除购物车（全部）*/
    boolean delUserCarInfo(int userId);

    //<!--用户钱包信息-->
    //<!--钱包余额-->
    double remainder(String userName);

    //<!--累计充值-->
    double recharge(String userName);
    //<!--累计消费-->
    double consume(String userName);
    /*用户修改信息
    * userName 用户名(必传)
    * 选传:
    * pwd密码
    * nickname 昵称
    * email 邮箱
    * lastLoginTime 最后登录时间(登录时自动修改)
    * */
    boolean updateUser(User user);

    /*修改用户名/手机*/
    boolean updateUserName(String userName,int id);
    /*修改手机号之后修改钱包中的用户名*/
    boolean updateAccountUserName(String userName,String yuanuserName);



    }
